package com.mxchip.livestarmobile.mobile.util.widget.opengl;

import android.media.MediaCodec;
import android.media.MediaFormat;
import android.view.Surface;

import com.mxchip.livestarmobile.mobile.util.widget.opengl.render.RenderInterface;

import java.util.concurrent.ArrayBlockingQueue;

public class RenderDataInfo {
    public static int REMOTE_CAMERA = 0;
    public static int REMOTE_HDMI = 1;
    public static int LOCAL_CAMERA = 2;
    public static int LOCAL_HDMI = 3;

    private Surface surface;
    private int decodeIndex;
    private boolean imageIsShow;
    private int srcType;
    private String streamName;
    private String userName;
    private MediaCodec decode;
    private MediaFormat mediaFormat;
    private boolean hdmiIsShow;
    public int streamUpdate;
    private RenderInterface renderInterface;
    private int windowPosition;
    private boolean isShow;
    private int renderIndex;

    public int getRenderIndex() {
        return renderIndex;
    }

    public void setRenderIndex(int renderIndex) {
        this.renderIndex = renderIndex;
    }

    public boolean isShow() {
        return isShow;
    }

    public void setShow(boolean show) {
        isShow = show;
    }

    /**
     * 解码队列数组
     */
    private ArrayBlockingQueue<VideoBean> videoQueue;
    /**
     * 是否开始解码
     */
    private boolean isStart = false;

    public boolean isStart() {
        return isStart;
    }

    public void setStart(boolean start) {
        isStart = start;
    }

    public ArrayBlockingQueue<VideoBean> getVideoQueue() {
        return videoQueue;
    }

    public void setVideoQueue(ArrayBlockingQueue<VideoBean> videoQueue) {
        this.videoQueue = videoQueue;
    }

    public int getWindowPosition() {
        return windowPosition;
    }

    public void setWindowPosition(int windowPosition) {
        this.windowPosition = windowPosition;
    }

    public RenderInterface getRenderInterface() {
        return renderInterface;
    }

    public void setRenderInterface(RenderInterface renderInterface) {
        this.renderInterface = renderInterface;
    }

    private boolean localVideoIsShow;

    public boolean isLocalVideoIsShow() {
        return localVideoIsShow;
    }

    public void setLocalVideoIsShow(boolean localVideoIsShow) {
        this.localVideoIsShow = localVideoIsShow;
    }

    public boolean isHdmiIsShow() {
        return hdmiIsShow;
    }

    public void setHdmiIsShow(boolean hdmiIsShow) {
        this.hdmiIsShow = hdmiIsShow;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public MediaFormat getMediaFormat() {
        return mediaFormat;
    }

    public void setMediaFormat(MediaFormat mediaFormat) {
        this.mediaFormat = mediaFormat;
    }

    public Surface getSurface() {
        return surface;
    }

    public void setSurface(Surface surface) {
        this.surface = surface;
    }

    public int getDecodeIndex() {
        return decodeIndex;
    }

    public void setDecodeIndex(int decodeIndex) {
        this.decodeIndex = decodeIndex;
    }

    public boolean isImageShow() {
        return imageIsShow;
    }

    public void setImageShow(boolean imageIsShow) {
        this.imageIsShow = imageIsShow;
    }

    public int getSrcType() {
        return srcType;
    }

    public void setSrcType(int srcType) {
        this.srcType = srcType;
    }

    public String getStreamName() {
        return streamName;
    }

    public void setStreamName(String streamName) {
        this.streamName = streamName;
    }

    public MediaCodec getDecode() {
        return decode;
    }

    public void setDecode(MediaCodec decode) {
        this.decode = decode;
    }
}
